// 封装倒计时函数

import { computed, onUnmounted, ref } from "vue"
import dayjs from "dayjs" 

export const useCountDown = ()=>{
    // 1.响应式数据
    let timer = null
    const time = ref(0)
    // 格式化时间 为xx分xx秒
    const formatTime = computed(()=>dayjs.unix(time.value).format('mm分ss秒'))
    // 2.开启倒计时
    const start = (currentTime)=>{
        // 倒计时逻辑
        // 核心逻辑：每1s减1
        time.value = currentTime
        timer = setInterval(()=>{
            time.value--
        },1000)

    }
    // 组件销毁时清除定时器
    onUnmounted(()=>{
        // if(timer){
        //     clearInterval(timer)
        // }
        timer && clearInterval(timer)
    })
    return{
        formatTime,
        start
    }
}